#pragma once

class CReportDlg :public CDialogImpl<CReportDlg>, public CWinDataExchange<CReportDlg>
{
public:
    enum { IDD = IDD_DIALOG_REPORT};

    BEGIN_MSG_MAP(CUserStatusDlg)
        MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
        COMMAND_ID_HANDLER(IDOK, OnOK)
        COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
        COMMAND_HANDLER(IDC_BUTTON_CALCULATE, BN_CLICKED, OnBnClickedButtonCalculate)
        COMMAND_HANDLER(IDC_RADIO_Y, BN_CLICKED, OnBnClickedRadio)
        COMMAND_HANDLER(IDC_RADIO_Q, BN_CLICKED, OnBnClickedRadio)
        COMMAND_HANDLER(IDC_RADIO_M, BN_CLICKED, OnBnClickedRadio)
    END_MSG_MAP()


    BEGIN_DDX_MAP(CUserStatusDlg)
        DDX_CONTROL_HANDLE(IDC_LIST_REPORT, m_lcReport)
        DDX_INT(IDC_COMBO_YEAR, m_nYear)
        DDX_INT(IDC_COMBO_QUARTER, m_nQuarter)
        DDX_INT(IDC_COMBO_MONTH, m_nMonth)
    END_DDX_MAP()


    LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
    LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
    LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);

protected:
    CListViewCtrl	m_lcReport;

    int         m_bYear;
    int         m_bQuarter;
    int         m_bMonth;
    int         m_nYear;
    int         m_nQuarter;
    int         m_nMonth;

public:
    LRESULT OnBnClickedRadio(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
    LRESULT OnBnClickedButtonCalculate(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
};
